Migre les rôles vers une table dédiée user_roles - #1540
Closed
jbfeldis wants to merge 1 commit into
Closed
Conversation
Remplace le stockage des rôles dans la colonne array users.roles par une table user_roles avec FK vers users et data_providers, index unique NULLS NOT DISTINCT (PG17), et scopes dédiés. RoleSet reçoit désormais une relation UserRole au lieu d'un array de strings. Les scopes User passent de unnest/IN à des JOIN sur user_roles. Les grant_*/revoke_all_roles créent/suppriment des records UserRole. La colonne users.roles est conservée pour l'instant (suppression en Phase D) et un alias User#roles délègue à roles_as_strings pour la rétrocompatibilité. Grâce au découplage via grant_role/roles_for introduit en Phase B, aucune policy, aucun controller, aucune vue et aucun cucumber step ne change.
Contributor
Author
|
Abandonné, c'est purement technique, le format actuel par string avec les POROs font très bien le boulot donc autant faire des choses plus pertinentes. A voir la prochaine fois qu'une fonctionnalité concernant les droits doit être mise en place ! |
jbfeldis
deleted the
feature/dp-1693-stocker-les-roles-en-db-relationnelle
branch
July 2, 2026 11:09
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remplace le stockage des rôles dans la colonne array users.roles par une table user_roles avec FK vers users et data_providers, index unique NULLS NOT DISTINCT (PG17), et scopes dédiés.
RoleSet reçoit désormais une relation UserRole au lieu d'un array de strings. Les scopes User passent de unnest/IN à des JOIN sur user_roles. Les grant_*/revoke_all_roles créent/suppriment des records UserRole.
La colonne users.roles est conservée pour l'instant (suppression en Phase D) et un alias User#roles délègue à roles_as_strings pour la rétrocompatibilité.
Grâce au découplage via grant_role/roles_for introduit en Phase B, aucune policy, aucun controller, aucune vue et aucun cucumber step ne change.